package com.shujia.java.day19.demo6;

/**
* @Description: Test  一张票买了多次和卖负票的情况是怎么出现的
* @Author: 王火火
* @Date: 2019/8/22 14:06
 *
 * 多线程操作同一个资源
 * 像这种情况出现的前提是:
 *          多线程
 *          有共享资源
 *          多线程操作共享资源
 *
 *          主要是因为run方法 多线程都能进去（一个还没运行完下一个就已经进去了）
 *  解决办法:让run方法只能一个一个线程来执行
 *  线程的同步(也可以看为给他加了一个锁):
 *        都是用synchronized这个关键字来实现
 *      1.同步方法  public synchronized void test(){}
 *      2.同步代码块  synchronized(对象){
 *
 *      }
 *
*/ 

public class Test {
    public static void main(String[] args) {
        //创建共享资源
        MyRunnable myRunnable = new MyRunnable();
        //创建线程
        Thread thread = new Thread(myRunnable,"张三");
        Thread thread1 = new Thread(myRunnable,"李四");
        Thread thread2 = new Thread(myRunnable,"王五");
        //启动线程
        thread1.start();
        thread.start();
        thread2.start();
    }
}
